System and method for detection, classification, and management of collusion in online activity

ABSTRACT

The present invention relates to the detection, classification, and management of collusion in online gaming. Specifically, it relates to detecting collusion in online poker and other games of chance. The present invention may also be used to detect collusion in other types of strategy based online gaming such as first person shooter games. The present invention can then be used to classify and visualize any detected collusion. Finally, the present invention can be used to make recommendations regarding what possible courses of action could be taken, if any, to prevent and/or control collusion.

The present invention relates to the detection, classification, and management of collusion between users of an online service, such as an online casino, that are participating in an online activity, such as gambling. Specifically, it relates to using online activity history such as gameplay history, and a variety of mathematical models to detect collusion between users. Further, the present invention will, after detecting collusion, classify and visualize the collusion by type, dollar value, behavior, etc. Finally, the present invention will determine what possible courses of action could be taken, if any, to prevent anchor control collusion.

The present invention may be a service made available remotely to online service providers. In another embodiment, the present invention may be a bundle of processes and software packaged together as a Collusion Management Suite (CMS) for use directly by online services. Alternatively, the present invention may be a CMS pre-installed on a variety of hardware platforms and supplied as a package to online service providers.

BACKGROUND OF THE INVENTION

With the advent and rapid development of the internet, online services and specifically online gaming is a quickly growing industry. The first online gambling site was launched in August 1995. It is currently estimated that there are well over 2,000 internet gambling websites offering various wagering options, including sports betting, casino games, lotteries, and bingo. Internet gambling revenue in the United States was $5.9 billion in 2005, according to Christiansen Capital Advisors (CCA). CCA estimates that nearly 23 million people gambled on the internet in 2005. Approximately 8 million of those gamblers were from the United States. American Gaming Association: Industry Issues Detail, http://www.americangaming.org/Industry/factsheets/issues_detail.cfv?id=17 (last visited Jun. 26, 2007).

For instance, almost any game that involves luck, skill, or both can be manipulated by collusive behavior. These may include almost any card game such as poker, blackjack, bridge, etc. It may also affect other games such as mahjong, go, backgammon, etc. And also, users of online auctions such as eBay® where, for instance, people may use proxies to bid on and artificially inflate the price of an item up for bid are also effected. Additionally, collusion can occur between participants in virtual reality platforms such as Second Life, an online world that lets users navigate through a digital planet, has a functioning economy with its own currency. Second Life participants use “Linden dollars,” the game's currency, to rent or buy things, such as virtual real estate and users can convert that play money into U.S. dollars, at about 300 to the real dollar, by using their credit card at online currency exchanges and banks. Indeed, recently the biggest bank in the virtual world of Second Life has closed its doors after a run on its deposits, putting at risk hundred of thousands of real dollars of savings and investments. Ginko Financial stopped accepting deposits, froze all withdrawals and converted account holders' balances into “tradeable debt securities” called Ginko Perpetual Bonds.

With the growth of internet based gambling, specifically internet card games such as poker and blackjack, there arises a need to prevent collusion among users. With online poker, for instance, five users could all be playing at the same virtual table online but also be sitting in the same room in reality. This allows the users to see each other's hands and make decisions based on information they would not have were they playing in an actual casino.

Instances of collusion may have no direct effect on the house because most internet gaming providers are paid based on a percentage of the rake. Indeed, pot sizes may actually go up as the result of collusion thus increasing the amount of money made per hand by the provider. However the non-colluding users at the table are directly impacted by the losses caused by collusive play at their table. Moreover, there may be indirect effects caused by the collusion such as users reducing their bets, playing less, or leaving sites altogether due to fear of collusion.

Even in a bricks and mortar type casino, this type of collusion is not easy to spot. Casinos use sophisticate cameras, listening devices, highly trained dealers, and electronic equipment to attempt to detect some forms of cheating such as card substitution or stealing chips. Additionally, casinos have large forces of uniformed and undercover security officers that are able to observe users directly and indirectly (e.g. via video surveillance) to try to keep collusion in check. Nonetheless, casinos are forced primarily to rely on other users to observe and discreetly point out suspected collusive behavior.

At present, however, online service providers, and specifically online gaming providers, must rely on other users to identify collusive behavior to an even greater extent. This is because online service providers do not have the luxury of observing the behavior of the users personally. Online providers must rely solely on observing users' actions during the game. Detecting collusion online, therefore, requires the use of sophisticated mathematical modeling, among other things.

The present invention is directed at providing the aforementioned mathematical models, pre-packaged for the online service provider or its application service provider to allow the detection of such online collusion. The present invention is further aimed at providing said mathematical models in a form that is self-contained and user friendly. Additionally, the present invention provides analysis of data, and useful numerical and graphical output aimed towards the detection, classification, and prevention of online collusion.

SUMMARY OF THE INVENTION

The present invention relates to methods comprising the steps of gathering data regarding users of an online service participating in an online activity; comparing the data to control data using a mathematical algorithm; generating a current score based on the comparison; and deciding whether the data indicates collusion between the users based on the current score. The deciding step may comprise compiling a list of users participating in an online activity on an online service; comparing combinations of the users to previously compiled lists of users that have participated in activities on the service; and identifying combinations of users with an affinity for participating with one another. The deciding step may additionally comprise comparing the current score to a pre-determined score; returning a value indicating collusion if the current score exceeds the pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.

In one embodiment, the present invention may use a mathematical algorithm that is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. Additionally, the data used may be one or more types of data selected from the group consisting of demographic data, user action, and financial instruments. In yet another embodiment, the user demographics are one or more selected from the group consisting of age, gender, geographic location, username, service provider, and IP address. Also, the actions may be one or more actions selected from a group comprising bet, call, raise, fold, check, bid, purchase, or play.

In yet another embodiment, the present invention is a system comprising a memory device for storing a program; a processor in communication with the storage device; the processor operable with the program to gather data regarding users of an online service participating in a online activity, compare the data to control data using a mathematical algorithm; generate a current score based on the comparison; and decide whether the data indicates collusion between the users based on the current score. In still another embodiment the present invention is a system in which the processor is further operable to compile a list of users participating in an online activity on an online service; compare combinations of the users to previously compiled lists of users that have participated in activities on the service; and identify combinations of users with an affinity for participating with one another. Also, the processor may be further operable to compare the current score to a pre-determined score; return a value indicating collusion if the current score exceeds the pre-determined score; and return a value indicating non-collusion if the current score does not exceed the pre-determined score.

Additionally, the mathematical algorithm may be one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. In another embodiment, the data is one or more types of data selected from the group consisting of user hand rank, action, and demographics. In yet another embodiment, the user demographics are one or more selected from the group consisting of age, gender, geographic location, username, service provider, and IP address. Finally, the actions may be selected from a group of actions consisting of bet, call, raise, fold, check, bid, purchase, or play.

In still another embodiment, the present invention is an article of manufacture comprising a computer readable medium comprising instructions, the instructions comprising instructions for gathering data regarding users of an online service participating in a online activity; comparing the data to control data using a mathematical algorithm; generating a current score based on the comparison; and deciding whether the data indicates collusion between the users based on the current score. The article of manufacture may additionally include instructions for a deciding step comprising compiling a list of users participating in an online activity on an online service; comparing combinations of the users to previously compiled lists of users that have participated in activities on the service; and identifying combinations of users with an affinity for participating with one another. The present invention may also include an article of manufacture with instructions for the deciding step comprising comparing the current score to a pre-determined score; returning a value indicating collusion if the current score exceeds the pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.

In another embodiment, the present invention may include a mathematical algorithm that is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. In another embodiment, the data is one or more types of data selected from the group comprising user hand rank, action, and demographics. In yet another embodiment, the user demographics are one or more selected from the group consisting of age, gender, geographic location, username, service provider, and IP address. Finally, the actions may be selected from a group of actions comprising bet call, raise, fold, check, bid, purchase, or play.

The present invention may specifically relate to the detection, classification, and management of collusion in online gaming. In one embodiment, the present invention relates to methods comprising the steps of gathering data regarding an online game; comparing the data to control data using a mathematical algorithm; generating a current score based on the comparison; and deciding whether the online game indicates collusion based on the current score. In another embodiment the deciding step comprises compiling a list of users at a table; comparing combinations of the list to previously compiled lists of users at previous tables; and identifying combinations of users with an affinity for playing at the same table. The deciding step may also comprise comparing the current score to a pre-determined score; returning a value indicating collusion if the current score exceeds the pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.

In one embodiment the mathematical algorithms include Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. The data is one or more types of data selected from the group comprising user hand rank, action, and demographics. Additionally, the user demographics are one or more selected from the group consisting of age, gender, geographic location, and username. Finally, the actions are selected from a group of actions comprising bet, call, raise, fold, and check.

In yet another embodiment, the present invention is a system comprising a memory device for storing a program; a processor in communication with the storage device; the processor operable with the program to gather data regarding an online game; compare the data to control data using a mathematical algorithm; generate a current score based on the comparison and decide whether the online game indicates collusion based on the current score. The processor may be further operable to compile a list of users at a table; compare combinations of the list to previously compiled lists of users at previous tables; and identify combinations of users with an affinity for playing at the same table. The processor may be further operable to compare the current score to a pre-determined score; return a value indicating collusion if the current score exceeds the pre-determined score; and ret a value indicating non-collusion if the current score does not exceed the pre-determined score.

In one embodiment the mathematical algorithms include Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. The data is one or more types of data selected from the group comprising user hand rank, action, and demographics. Additionally, the user demographics are one or more selected from the group consisting of age, gender, geographic location, and username. Finally, the actions are selected from a group of actions comprising bet, call, raise, fold, and check. In still another embodiment the present invention is an article of manufacture comprising a computer readable medium comprising instructions, the instructions comprising instructions for gathering data regarding an online game; comparing the data to control data using a mathematical algorithm; generating a current score based on the comparison; and deciding whether the online game indicates collusion based on the current score. Further, the article of manufacture instructions for the deciding step comprise compiling a list of users at a table; comparing combinations of the list to previously compiled lists of users at previous tables; and identifying combinations of users with an affinity for playing at the same table. The article of manufacture instructions for the deciding step may further comprise comparing the current score to a pre-determined score; returning a value indicating collusion if the current score exceeds the pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.

In still another embodiment the mathematical algorithms include Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory. The data is one or more types of data selected from the group comprising user hand rank, action, and demographics. Additionally, the user demographics are one or more selected from the group consisting of age, gender, geographic location, and username. Finally, the actions are selected from a group of actions comprising bet, call, raise, fold, and check.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a flowchart of how Bayesian Networks could be used to detect collusion.

FIG. 2 is a flowchart of how Correlation could be used to detect collusion.

FIG. 3 is a flowchart of how a Rules Based System could be used to detect collusion.

FIG. 4 is a block diagram is a flowchart of an overview of the process of managing collusion in an online game.

FIG. 5 is a flowchart of how Clustering could be used to detect individual instances of collusion.

FIG. 6 is a flowchart of how a Rules Based System could be used to detect instances of collusion.

FIG. 7 is a flowchart of how a Similarity could be used to detect instances of collusion.

FIG. 8 is a flowchart of how a Genetic Programming could be used to detect instances of collusion.

FIG. 9 is a flowchart of how Game Theory could be used to detect instances of collusion.

FIG. 10 is a flowchart of how Correlation could be used to detect collusion.

FIG. 11 is a block diagram of automated system tools for managing the impact of colluding users.

FIG. 12 is a diagram of drill-down into detailed information about collusive play.

DETAILED DESCRIPTION OF THE INVENTION

In the following paragraphs, the present invention will be described in detail by way of example with reference to the associated Figures. Throughout this description, the embodiments and examples shown should be considered as exemplars, rather than as limitations on the present invention. As used herein, the “present invention” refers to any one of the embodiments of the invention described herein, and any equivalents. Furthermore, reference to various feature(s) of the “present invention” throughout this document does not mean that all claimed embodiments or methods must include the referenced feature(s).

Terms and phrases used in this document, and variations thereof, unless otherwise expressly stated, should be construed as open ended as opposed to limiting. As examples of the foregoing: the term “including” should be read as meaning “including, without limitation” or the like; the term “example” is used to provide exemplary instances of the item in discussion, not an exhaustive or limiting list thereof, the terms “a”, or “an” should be read as meaning “at least one,” “one or more” or the like; and adjectives such as “conventional,” “traditional,” “normal,” “standard,” “known” and terms of similar meaning should not be construed as limiting the item describe to a given time period or to an item available as of a given time, but instead should be read to encompass conventional, traditional, normal, or standard technologies that may be available or known now or at any time in the future. Likewise, where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future.

A group of items linked with the conjunction “and” should not be read as requiring that each and every one of those items be present in the grouping, but rather should be read as “and/or” unless expressly stated otherwise. Similarly a group of items linked with the conjunction “or” should not be read as requiring mutual exclusivity among that group, but rather should also be read as “and/or” unless expressly stated otherwise. Furthermore, although items, elements or components of the invention may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated.

The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.

Thus, it is seen that methods, systems, and articles of manufacture are provided. One skilled in the art will appreciate that the present invention can be practiced in various other embodiments. The description herein is presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims that follow. It is noted that equivalents for the particular embodiments discussed in this description may practice the invention as well.

The following descriptions explain and define the application of the present invention in the context of users of a specific online service participating in a specific online activity, namely online poker. However, this is not intended to limit the possible application and is presented in this format merely to facilitate explanation. One skilled in the art will recognize that the present invention has far reaching applications in the context of users of any applicable online service participating in any applicable online activity. The methods, systems, and articles of manufacture of the present invention additionally have applicability to games involving luck, skill, or both, online auctions, online betting, and online virtual reality platforms and games, to name but a few. The term “online service” as used herein includes the underlying online location and related service, such as the sites www.ebay.com, www.bodog.com or www.secondlife.com. (e.g., online auction sites, online betting parlors or casinos, and online virtual reality platforms or games). The term “online activity” as used herein includes the activity of the user of the online service, such as participating in an auction on www.ebay.com, participating in online poker or betting at www.bodog.com or participating in online business activities such as buying or selling goods or real estate, or banking activities, at www.secondlife.com.

For instance, one could use the present application to prevent collusion in an online auction setting such as eBay. In an ideal situation, one puts an item up for bid on eBay and users bid on the object until the end of the auction at which time the highest bidder wins. This sometimes results in the price being lower than expected because no one is looking for a particular item, or for a variety of other reasons. On the other hand, due to the over exuberance sometimes caused in an auction setting, items often sell for more than expected as bidding wars artificially drive the up price.

For example, users can, to some extent, cause a bidding war on items they have up for bid. One can bid on their own auctions by using a separate username, a separate computer, or simply by having a friend bid. This drives the price of one's auction up and is therefore forbidden by the rules of eBay®. However, one needs to detect such collusion to enforce the rules.

Similarly, third person reality games such as the Sims and Second Life are negatively affected by collusion. Versions of these games entail paying real money in exchange for money that can be spent within the games. Users are then tasked with making life choices for the characters “living” within the game. Users build houses, find jobs, and complete other tasks one might complete in real life.

However just as in real life, collusion can make things more expensive for some and more profitable for others. For example users can engage in price-fixing and artificially drive up the price of a given service. This type of collusion reduces the chances that normal market forces will be able to overcome such maladies. And, like in real life, this type of collusion can be difficult if not impossible detect with previously available technologies. Indeed, User-to-user Linden Dollar exchange activity is a consistent target of attack for attempted fraud and similar malicious activity.

In one embodiment, a method for detecting collusion is to identify users who are sharing information that is prohibited to be shared under the rules of the game. Several methods exist for detecting the sharing of forbidden information in gaming situations including Bayesian networks, statistical correlation, and symbolic rule induction, to name but a few. In additions these methods can be used in combination to form hybrid systems for maximum accuracy and efficiency.

For instance, to use Bayesian Networks to detect collusion between users one would first need to determine what Bayesian Network graph structures to test 100. Jensen, Finn V. (2001). Bayesian Networks and Decision Graphs. Springer. This is highly dependent on the data that is fed into the system. For example, one could use the binned hand ranks of the user being analyzed for collusion 101, his opponents' binned hand ranks 102, and the actions of the users within the game 103,104. In this case, the binned hand rank 101,102 is a floating point number from 0 to 1, with 0 being a lower chance of winning and 1 being a higher chance of winning, divided into N equal bins. And the actions 103 are, for example, actions common to a poker game such as betting, folding, raising, calling, checking, etc.

From the input data one can then generate possible graph structures (involving the variables in the input data) that are relevant to the game being considered. One can then use a set of constraints to recognize graphs that would represent game play that is against the innate rules of the game. For instance, a user checking instead of folding, to the benefit of an opponent. Furthermore, if there are too many variables to exhaustively generate the graphs 100, the most likely graphs can be found using a searching technique on the input data (such as Genetic Algorithms).

After determining what graphs to evaluate, game data is passed through a Bayesian Network scoring algorithm 105 which computes a single floating point score 106 for each possible graph. Neapolitan, “Learning Bayesian Networks”, 2004, Pearson Prentice Hall. The highest scoring graphs are then analyzed to determine if there are any links that indicate hidden information 107, 108, 109 is being passed. For example, if there is a correlation between an opponents hand rank 102 and a user's action 103. If the highest scoring graph indicates hidden information is being passed, then collusion is occurring between the user and opponent in question. The results of the analysis 110 including the floating point score and a Boolean value, i.e. true if colluding, false if not colluding, are returned to the CMS.

In another embodiment, one could use statistical correlation to detect collusion. See FIG. 2. To use Statistical Correlations to detect collusion between users one needs to have a set of input data compute statistical regressions on. For example, one could again use the binned hand ranks of the user 201, the binned hand rank of his opponents 202, and the actions of the users in the game 203,204, as above

From the input data, one can run a number of statistical regression methods 205 to determine if there is a correlation between any of the input variables. Some techniques to accomplish this are Autocorrelation and Pearson's Product-Moment Coefficient. Patrick F. Dunn, Measurement and Data Analysis for Engineering and Science, New York: McGraw-Hill, 2005.

If a correlation is determined to exist between variables that should be hidden from each other in the game, such as a strong correlation between an opponents hand rank 202 and a user's action 203, then collusion is occurring between the users in question. The results of this analysis 207 including the correlation coefficient 206, as determined by the statistical regression methods 205, and a Boolean value (true if colluding, false if not colluding) are returned to the CMS system.

In yet another embodiment, one could use symbolic rule induction to detect collusion between users. See FIG. 3. First one needs to have a set of input data 305 to learn rules from. Again, the set of input data would likely be much the same, to wit, the binned hand rank for the user 301, the binned hand rank for his opponents 302, and the actions of both 303,304.

From the input data, one uses a machine learning algorithm 306 to learn symbolic rules 307 from the data. Possible algorithms (not an exhaustive list) include Learnable Evolution Model, AQ21, and Decision Trees. Holtzman, Samuel, Intelligent Decision Systems (1989), Addison-Wesley; Wojtusiak, J. and Michalski, R. S., “The LEM3 Implementation of Learnable Evolution Model and Its Testing on Complex Function Optimization Problems,” Proceedings of Genetic and Evolutionary Computation Conference, GECCO 2006, Seattle, Wash., Jul. 8-12, 2006; Wojtusiak, J., Michalski, R. S., Kaufman, K. and Pietrzykowski, J., “The AQ21 Natural Induction Program for Pattern Discovery: Initial Version and its Novel Features,” Proceedings of the 18th IEEE International Conference on Tools with Artificial Intelligence, Washington D.C., Nov. 13-15, 2006. After learning the rules 307 on the input data one would then look for rules that involve pieces of information that should not be linked. For example, rules involving an opponents hand rank 302 causing a users action 303. If such a rule exists then there is evidence of collusion in the input data. The results of the analysis 308 including the Boolean value (true if colluding, false if not colluding) are returned to the CMS.

In another embodiment, the above techniques could be combined or mutated in many ways to produce hybrid systems to accomplishing the goal of detecting collusion via hidden information in the most efficient manner. Additionally, these techniques could be combined with or replaced by other similar techniques known to those skilled in the art. The techniques listed above are presented in these terms for convenience only, to particularly point out and describe the details of particular embodiments of the present invention. The present invention is equally applicable to other embodiments and techniques.

In addition to the techniques listed above for detecting hidden information passing between users, other overt evidence could be used to help with the collusion detection. For example, an affinity score could be calculated based on, inter alia, how often users play at the same table, their geographic location, similarities in demographic information, use of computers, use of financial instruments, etc. This affinity score could be used in conjunction with, or instead of, the hidden information to help find collusion.

It is possible for the identification of data points that indicate the passing of secret information to be determinative in detecting collusive behavior. However, it may be necessary to conduct further analysis. For instance, it may be necessary, in addition to, or instead of, identifying behavior that indicates the passing of forbidden information, to identity unusual game play.

Therefore, following this initial analysis to identify users of interest 400, 401, the CMS system can then examine the individual actions between colluding users in the games 402. The CMS system is able to identify unusual game play 403 and flag those actions as being evidence of collusion. Unusual game play could be, for example, play which benefits someone other than the person taking the action.

There are many possible types of mathematical algorithms for detecting unusual game play. In most cases, data points are introduced to the system to “train” the system. For the purposes of discussion below, user will be defined as the user in the game who is being analyzed for possible collusion. The opponent is defined as a user who is an opponent of the user being analyzed. And, hand rank is defined as a number between 0 and 1 with 0 indicating a hand that is certain to lose and 1 indicating a hand that is certain to win. Thus, for example, a royal flush in 5 card poker (assuming no wild cards) would be classified a 1. Additionally, an action is defined as the actions users take in a game. Thus for example in a poker game actions may be raises, bets, calls, folds, etc. Finally, a Boolean or true/false data point is included to tell the system which behavior indicates collusion (true) and which does not (false) his list is by no means exhaustive and additional data points could be included as desired.

One possible algorithm for use by the CMS is clustering. See FIG. 5. Jain, Murty and Flynn: Data Clustering: A Review, ACM Comp. Surv., 1999. To use clustering to detect instances of collusion between users one would first need to train the clustering with data that represents both collusive and non-collusive behavior. This training data could include data items derived from game play such as: 1) the hand rank 500 of the user 2) the hand rank 501 for an opponent 3) the action 502 of a the user 4) the action 503 of an opponent and 5) a Boolean 504 representing whether this particular set of data is an example of collusion or not (e.g., true or false, respectively).

The initial training data is pre-labeled so that it is known what data points correspond to collusion and what data points do not. The training data is then run through a cluster training algorithm 505 that learns the division between collusion/non-collusion clusters for the training data. After training on the pre-labeled data, the clustering algorithms 505 are capable of clustering unlabeled data presented to it. Clustering algorithms include (but are not limited to), k-means clustering and fuzzy c-means clustering. P. Berkhin, Survey of Clustering Data Mining Techniques, Accrue Software, 2002; J. C. Dunn (1973): “A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact Well-Separated Clusters”, Journal of Cybernetics 3: 32-57.

Therefore, when a new piece of unlabeled data is inputted to the trained clustering algorithm, the algorithm will output a floating point number 506 between 0 and 1 indicating the likelihood of one type of behavior (i.e. colluding or non-colluding). The closer the output floating point number is to 1 for either bin, the more likely the classification proposed by that bin. Meaning that if the output is 0.9 for the Boolean being true (collusion is occurring), then it is likely that collusion is occurring. The results of the analysis 507, including a Boolean value (true if colluding, false if not colluding), are returned to the CMS system.

In another embodiment, one could use a rules based system. See FIG. 6. James Ignizio, Introduction to Expert Systems (1991). To use a rule-based expert system to detect instance of collusion between users one would first need an expert system to build a rule-set, similar to the learning process mentioned above. To build such a system one could use similar training data items derived from game play such as the hand rank of the user 601, the hand rank for an opponent 602, the action of a the user 603, the action of an opponent 604, and a Boolean 605 representing whether this particular set of data is an example of collusion (true) or not (false).

Such a training set is pre-labeled so that it is known what data points correspond to collusion and what data points do not. The training data is then run through a rule learning algorithm such as AQ21 or LEM. (see above) to learn rules that classify the input data into collusion/non-collusion bins. Additionally, one could use combinations of human experts and rule learning for this technique.

After training, the rules are then evaluated 606 by a rules engine 607 against unlabeled data. Peter Jackson, Introduction to Expert Systems (1998). The rules engine 607 then outputs a classification 608 into one of the two bins (collusion/non-collusion) based on the rules built using the training data. If the data is classified into the collusion bin by the rule-sets 606 then collusion is considered to have occurred for the given data set. The results of the analysis 608 including the Boolean value (true if colluding, false if not colluding) are returned to the CMS system.

In another embodiment, one could use Similarity Classification to detect instances of collusion between users. See FIG. 7. Goldstone, R. L, & Son, J. (2005). Similarity in K. Holyoak & R. Morrison (Eds.). Cambridge Handbook of Thinking and Reasoning. Cambridge: Cambridge University Press: p. 13-36. Again, one would first need to create a set of comparison data that represents a user colluding and a user not colluding. This comparison data could again include the data mentioned above, i.e., user hand rank 700, opponent hand rank 701, user action 702, opponent action 703, and the Boolean indicating collusion or non-collusion 704.

The comparison data is split into two sets based on whether datum 704 is true (collusion) or false (non-collusion). The 2 sets of data are then processed with unlabeled input data to produce a similarity metric between 0 and 1 that corresponds to how similar the input data is to the given set of comparison data 705. The closer the similarity metric is to 1 for each comparison data set the more likely the data set is an example of that comparison data set (i.e., collusion or non-collusion). The similarity metrics 706 can then produce a Boolean classification for each data set into a collusion/non-collusion bin 707. The results of the analysis 707 including the Boolean value (true if colluding, false if not colluding) are returned to the CMS system. Algorithms 705 to compute the similarity metric 706 include Cosine Similarity and Jaro-Winkler Distance, Pang-Ning Tan, Michael Steinbach and Vipin Kumar. Introduction to Data Mining (2005); Jaro. M. A. (1989). “Advances in record linking methodology as applied to the 1985 census of Tampa Florida”. Journal of the American Statistical Society 64: 1183-1210.

In another embodiment, the CMS could use genetic programming to detect instances of collusion between users. See FIG. 8. Koza, J. R. (1992), Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. Again, one would first need a training set of data. This training data could include data items derived from game play such as user hand rank 800, opponent hand rank 801, user action 802, opponent action 803, and a Boolean 804 indicating collusion or non-collusion.

The training data is then used with a Genetic Programming learning technique using genetic operators 805 and a fitness function 806 which learns a computer program 807 that will classify new data. When the program is run on a new data set it produces a floating point number between 0 and 1. The closer the output floating point number is to 1 for either bin, the more likely the classification proposed by that bin. Meaning that if the output is 0.9 for the Boolean being true (collusion occurring) then it is likely that collusion is occurring. The results of the analysis 808 including the Boolean value (true if colluding, false if not colluding) are returned to the CMS system.

In yet another embodiment, the CMS could employ game theory. See FIG. 9. Game theory was applied to poker by von Neumann and Morgenstern in 1944. Von Neumann, J., Morgenstern, O. “Theory of Games and Economic Behavior”, J. Wiley 1964. Game theory can be used to derive equations that, when evaluated, put a value on a specific action taken within a game. The value indicates whether the action will result in a higher payoff for the user. The inputs to the equations include the set of initial conditions and a formal set of game rules; game theory makes the assumption that the other users in a game are also taking the best possible actions at any given stage.

To use game theory to detect collusion between users one must first determine the optimal play based on user hand rank 900, opponent hand rank 901, user action 902, opponent action 903, and a Boolean 904 indicating collusion (true) or non-collusion (false). This information is used to determine the action to undertake during each betting round which will result in the greatest payoff for user. The set of actions which result in the highest payoff for user is commonly called “optimal play” 905.

Once optimal play has been determined for user and opponent it is then compared to the actual play 906. At each stage the optimal and actual actions are used to re-evaluate the expected payoff for both user and opponent. The likelihood of collusion between the user and the opponent is indicated by the expected payoff of each action. Actions that increase the possible payoff of the game for the user are not collusive since poker is a zero-sum game (i.e., the opponent must lose for the user to win). If the user repeatedly takes actions that increase the payoff for the opponent, they are acting in a way that indicates collusion.

Assuming that all uses wish to increase their payoff, it is possible to change their actions to increase the payoff for a specific opponent by undertaking non-optimal play. For example, checking rather than folding results in a different set of optimal actions by other users which can increase the payoff for an opponent at the expense of the user performing the action. However, actions, e.g., check and raise, taken by a user which increase the payoff for the opponent at the expense of other users are more significant as indicators of collusion than actions which do not influence the optimal play of other users.

Similar results to those enumerated above could also be achieved using other methods including decision trees, fuzzy rule-based system, neural networks, Naïve Bayesian classifiers, Bayesian Networks, or other classifiers using a Bayesian method. Haykin S. “Neural Networks”, Prentice Hall, 1999; Michalski R. S., Bratko I., Kubat M., “Machine Learning and Data Mining”, 1998, John Wiley and Sons; Neapolitan, “Learning Bayesian Networks”, 2004, Pearson Prentice Hall; Rish, Irina. (2001). “An empirical study of the naive Raves classifier”. IJCAI 2001 Workshop on Empirical Methods in Artificial Intelligence; Zadeh L. A., Fuzzy Sets, “Information and Control”, 8 (1965) 338353. Additionally, the above list of techniques could be combined or mutated in many ways to produce hybrid systems to accomplishing the same goal of detecting unusual play. The techniques listed above are presented in these terms for convenience only, to particularly point out and describe the details of the present invention in a preferred environment. The present invention is equally applicable to other embodiments and techniques.

After initial detection of collusion, the classification 1006 and behavior matching component 1007 will then group colluding users 1006 into specific behavior patterns 1007. These groupings will help online gaming firm analysts note the type of collusion being implemented by the users in question. Game and User data that could be used to group users by tactic include user and game history, along with internal and external user information (including demographic information), and output of the collusion analysis performed in 1000. The users are then identified and classified according to different collusion techniques. For example, a colluder who attempts to avoid detection by winning many small hands would be classified differently than a user who attempts to avoid detection by winning one large hand and then withdrawing.

The multiple techniques for rule and model-based analysis and classification discussed above for use in identifying unusual game play could also be applied or combined here to focus on the specific practices that the online gaming firm chooses to identify. The results of the behavior matching will be returned to the CMS for display and further analysis.

The CMS system can now present a visual analysis 1005, 1100 along with a system for producing suggestions for how to resolve the collusion with the users identified 1004, 1101. Resolution of the collusion issue might include using decision support systems 1106, impact analysis 1107, behavior modeling 1108, and abstract action classification 1109. Such a suggestion system might additionally be customized to each online gaming firm to take into account the provider's predilection for banning, suspending and deleting users from the system 1004.

In a further embodiment, the visualization system 1100 will allow for “drill-downs” into the individual users game play so that the online gaming firm analysts can narrow in on suspected collusion instances quickly. In such a visualization system the global game data view is presented with a focus on game tables 120 or game users 1201. Selection of a specific table 1206 or user 1207 opens a drill-down screen with more comprehensive information about that table 1202 or user 1203. Selecting a specific board 1208 or opponent 1209 also allows a drill-down to specific play examples 1204, 1205 which can be viewed in detail at determine specific collusive activity.

While specific embodiments of the present invention have been described other and further modifications and changes may be made without departing from the spirit of the invention. All further and other modifications and changes are included that come within the scope of the invention as set forth in the claims. The disclosures of all publications cited above are expressly incorporated by reference in their entireties to the same extent as if each were incorporated by reference individually. 

1. A method comprising the steps of: gathering data regarding users of an online service participating in a online activity; comparing said data to control data using a mathematical algorithm; generating a current score based on said comparison; and deciding whether said data indicates collusion between said users based on said current score.
 2. The method of claim 1, wherein said deciding step comprises: compiling a list of users participating in an online activity on an online service; comparing combinations of said users to previously compiled lists of users that have participated in activities on said service; and identifying combinations of users with an affinity for participating with one another.
 3. The method of claim 1, wherein the deciding step comprises: comparing said current score to a pre-determined score; returning a value indicating collusion if said current score exceeds said pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.
 4. The method of claim 1, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 5. The method of claim 1, wherein said data is one or more types of data selected from the group comprising demographic data, user action, and financial instruments.
 6. The method of claim 4, wherein said user demographics are one or more selected from the group comprising of age, gender, geographic location, username, service provider, and IP address.
 7. The method of claim 5, wherein the action is one or more actions selected from a group comprising bet, call, raise, fold, cheek, bid, purchase, or play.
 8. A system comprising: A memory device for storing a program; a processor in communication with said storage device; said processor operable with said program to: gather data regarding users of an online service participating in a online activity; compare said data to control data using a mathematical algorithm; generate a current score based on said comparison; and decide whether said data indicates collusion between said users based on said current score.
 9. The system of claim 8, wherein said processor is further operable to: compile a list of users participating in an online activity on an online service; compare combinations of said users to previously compiled lists of users that have participate in activities on said service; and identify combinations of users with an affinity for participating with one another.
 10. The system of claim 8, wherein said processor is further operable to: compare said current score to a pre-determined score; return a value indicating collusion if said current score exceeds said pre-determine score; and return a value indicating non-collusion if the current score does not exceed the pre-determined score.
 11. The system of claim 8, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 12. The system of claim 8, wherein said data is one or more types of data selected from the group comprising user hand rank, action, and demographics.
 13. The system of claim 12, wherein said user demographics are one or more selected from the group consisting of age, gender, geographic location, username, service provider, and IP address.
 14. The system of claim 12, wherein the action is selected from a group of actions comprising bet, call, raise, fold, check, bid, purchase, or play.
 15. An article of manufacture comprising: a computer readable medium comprising instructions, said instructions comprising instructions for: gathering data regarding users of an online service participating in a online activity; comparing said data to control data using a mathematical algorithm; generating a current score based on said comparison; and deciding whether said data indicates collusion between said users based on said current score.
 16. The article of manufacture of claim 15, wherein said article of manufacture instructions for said deciding step comprise: compiling a list of users participating in an online activity on an online service; comparing combinations of said users to previously compiled lists of users that have participated in activities on said service; and identifying combinations of users with an affinity for participating with one another.
 17. The article of manufacture of claim 15, wherein said article of manufacture instructions for said deciding step comprise: comparing said current score to a pre-determined score; returning a value indicating collusion if said current score exceeds said pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.
 18. The article of manufacture of claim 15, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 19. The article of manufacture of claim 15, wherein said data is one or more types of data selected from the group comprising user hand rank, action, and demographics.
 20. The article of manufacture of claim 19, wherein said user demographics are one or more selected from the group consisting of age, gender, geographic location, username, service provider, and IP address.
 21. The article of manufacture of claim 19, wherein the action is selected from a group of actions comprising bet, call, raise, fold, check, bid, purchase, or play.
 22. A method comprising the steps of: gathering data regarding an online game; comparing said data to control data using a mathematical algorithm; generating a current score based on said comparison; and deciding whether said online game indicates collusion based on said current score.
 23. The method of claim 22, wherein said deciding step comprises: compiling a list of users at a table; comparing combinations of said list to previously compiled lists of users at previous tables; and identifying combinations of users with an affinity for playing at the same table.
 24. The method of claim 22, wherein the deciding step comprises: comparing said current score to a pre-determined score; returning a value indicating collusion if said current score exceeds said pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.
 25. The method of claim 22, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 26. The method of claim 22, wherein said data is one or more types of data selected from the group comprising user hand rank, action, and demographics.
 27. The method of claim 26, wherein said user demographics are one or more selected from the group consisting of age, gender, geographic location, and username.
 28. The method of claim 26, wherein the action is selected from a group of actions comprising bet, call, raise, fold, and check.
 29. A system comprising: A memory device for storing a program; a processor in communication with said storage device; said processor operable with said program to: gather data regarding an online game; compare said data to control data using a mathematical algorithm; generate a current score based on said comparison; and decide whether said online game indicates collusion based on said current score.
 30. The system of claim 29, wherein said processor is further operable to: compile a list of users at a table; compare combinations of said list to previously compiled lists of users at previous tables; and identify combinations of users with an affinity for playing at the same table.
 31. The system of claim 29, wherein said processor is further operable to: compare said current score to a pre-determined score; return a value indicating collusion if said current score exceeds said pre-determined score; and return a value indicating non-collusion if the current score does not exceed the pre-determined score.
 32. The system of claim 29, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction, clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 33. The system of claim 29, wherein said data is one or more types of data selected from the group comprising user hand rank action, and demographics.
 34. The system of claim 33, wherein said user demographics are one or more selected from the group consisting of age, gender, geographic location, and username.
 35. The system of claim 33, wherein the action is selected from a group of actions comprising bet, call, raise, fold, and check.
 36. An article of manufacture comprising: a computer readable medium comprising instructions, said instructions comprising instructions for: gathering data regarding an online game; comparing said data to control data using a mathematical algorithm; generating a current score based on said comparison; and deciding whether said online game indicates collusion based on said current score.
 37. The article of manufacture of claim 36, wherein said article of manufacture instructions for said deciding step comprises: compiling a list of users at a table; comparing combinations of said list to previously compiled lists of users at previous tables; and identifying combinations of users with an affinity for playing at the same table.
 38. The article of manufacture of claim 36, wherein said article of manufacture instructions for said deciding step comprises: comparing said current score to a pre-determined score; returning a value indicating collusion if said current score exceeds said pre-determined score; and returning a value indicating non-collusion if the current score does not exceed the pre-determined score.
 39. The article of manufacture of claim 36, wherein the mathematical algorithm is one or more selected from the group consisting of Bayesian networks, statistical correlation, symbolic rule induction clustering, rules based expert systems, similarity classification, genetic programming, decision trees, fuzzy rules, neural networks, Bayesian classifiers, and game theory.
 40. The article of manufacture of claim 36, wherein said data is one or more types of data selected from the group comprising user hand rank, action, and demographics.
 41. The article of manufacture of claim 40, wherein said user demographics are one or more selected from the group consisting of age, gender, geographic location, and username.
 42. The article of manufacture of claim 40, wherein the action is selected from a group of actions comprising bet, call, raise, fold, and check. 